\documentclass[a4paper,10pt]{article}
\usepackage[utf8x]{inputenc}
\usepackage[spanish]{babel}
\usepackage{textcomp}
\usepackage{graphicx}

\usepackage{anysize} % Soporte para el comando \marginsize
\usepackage{hyperref}

\usepackage[margin=3cm]{geometry} % Soporte para el comando \marginsize
%\marginsize{3cm}{3cm}{3cm}{3cm}

\usepackage{listings}

\DeclareGraphicsExtensions{.pdf,.png,.jpg}

%opening
\title{ 
      Trabajo Pr\'actico\\
      Recepci\'on del Paciente
}

\author{
           \normalsize{2do. Cuatrimestre de 2011} \\
           \normalsize{75.15 Base de Datos}  \\
           \normalsize{Facultad de Ingenier\'ia, Universidad de Buenos Aires}
}

\date{ Fecha de entrega: 26 de Octubre del 2011 }

\begin{document}


\maketitle
\thispagestyle{empty}   % quita el n\'umero en la primer p\'agina


%\hspace{5cm}
\begin{center}
 
\begin{tabular}{ | c | c | c | }
\hline
 Apellido y Nombre & Padr\'on & mail \\ \hline
Ramonda, Juan Pablo & 87991 & juanpr@gmail.com \\ \hline
Hurtado, Pablo & 89542 & hurtado.pani@gmail.com \\ \hline
Di Paola, Mart\'in & 88961 & martinp.dipaola@gmail.com \\ \hline
Villanueva, Amalia M. & 89380 & amaliavillanueva@gmail.com \\ \hline
\end{tabular}
\end{center}

\newpage
\tableofcontents
\newpage

\section{Consigna del Trabajo Práctico}
  \subsection{Objetivo}
	Los objetivos del trabajo pr\'actico son:
		\begin{enumerate}
		\item Realizar un modelo MER en base al siguiente ERS y a los efectos de satisfacer los requerimientos de informaci\'on solicitados.
		\item Transformar el modelo E-R en un modelo relacional (modelo de tablas) utilizando los conocimientos de transformaci\'on de entidades a tablas.
		\end{enumerate}
  \subsection{Forma De Presentaci\'on Del Trabajo Pr\'actico}
		\begin{enumerate}
		\item Presentar el diagrama de entidad - interrelaci\'on con indicaciones de restricciones de cardinalidad.
		\item Indicar dependencias de identidad y de existencia en el modelo.
		\item Especificar supuestos que justifiquen el modelo (Hip\'otesis).
		\item Presentar el diccionario de datos del diagrama con la siguiente informaci\'on:\\
		Para cada tipo de entidad se debe especificar:
			\begin{enumerate}
			\item Definici\'on
			\item Especificaci\'on de atributos
			\item Especificaci\'on de identificador \'unico
			\end{enumerate}
		Para cada tipo de interrelaci\'on se debe especificar: 
			 \begin{enumerate}
			\item Definici\'on
			\item Especificaci\'on de atributos
			\item Especificaci\'on de identificador \'unico
			\end{enumerate}
		\item Presentar el modelo Relacional ( "de tablas" ) indicando para cada esquema de relaci\'on:
			\begin{enumerate}
			\item Atributos
			\item Claves candidatas
			\item Clave primaria
			\item Claves for\'aneas
			\item Atributos que pueden tomar valores nulos
			\item Realice el diagrama del Modelo de Tablas
			\item Sentencias DDL
			\end{enumerate}
		\end{enumerate}
		
Nota: en los casos en que existan diferentes alternativas para efectuar la transformaci\'on de MER al modelo de tablas, elegir una \'unica alternativa  y enumerar las ventajas y desventajas de la alternativa elegida.

\newpage
\section{Diagrama de Entidad - Interrelaci\'on}

\begin{figure}[htb]
  \begin{center}
    \noindent \includegraphics[ scale=0.28]{./imagenes/Diagrama1.png}
  \end{center}
\caption{Diagrama de Entidad - Interrelaci\'on}
% \label{fig0601}
\end{figure}
\newpage

%\section{Indicar dependencias de identidad y de existencia en el modelo.}
 
\section{Hip\'otesis tomadas}
  
Los supuestos que consideramos fueron:
	\begin{itemize}

	 \item Entidad Paciente:
		\begin{itemize}
		\item El n\'umero de historia cl\'inca es \'unico para cada paciente, es decir, no existen  pacientes distintos con el mismo n\'umero de historial.
		\end{itemize}
	 \item Entidad Turno 
		\begin{itemize}
		\item Un turno queda definido por la fecha, hora y un n\'umero de turno.
		\item En un turno se pueden realizar uno o varios procedimientos m\'edicos.
		\item Un turno puede ser atendido por m\'as de un profesional.
		\end{itemize}
	 \item Entidad Lugar 
		\begin{itemize}
		\item Puede atenderse en m\'as de un turno un mismo lugar.
		\end{itemize}
	 \item Entidad Cobertura
		\begin{itemize}
		\item La entidad cobertura queda definida por el n\'umero de afiliado y el identificador de la entidad financiera a la cual pertenece.
		\end{itemize}
	 \item Entidad EntidadFinanciera
		\begin{itemize}
		\item Cada entiedad financiera tiene un identificador distinto.
		\item Una entidad financiera solo puede brindar una \'unica cobertura.
		\end{itemize}
	 \item Entidad Plan
		\begin{itemize}
		\item Un plan queda definido por un n\'umero de plan.
		\item Un paciente s\'olo puede tener un plan.
		\end{itemize}
	 \item Entidad ProcedimientoMedico
		\begin{itemize}
		\item Hay un c\'odigo que identifica un\'ivocamente a un procedimiento m\'edico, es decir, procedimientos m\'edicos distintos tienen distinto c\'odigo.
		\end{itemize}
	 \item Entidad Profesional
		\begin{itemize}
		\item Cada profesional queda definido por un \'unico c\'odigo.
		\item Un profesional podr\'ia tener m\'as de una especialidad.
		\end{itemize}
	\end{itemize}
\section{Diccionario de Datos}
  
Aquellos atributos que identifican un\'ivocamente a la entidad aparecer\'a el nombre del atributo subrayado, tambi\'en pueden verse en el diagrama de Entidad-Interrelaci\'on.
  \subsection{Entidades}
    
      \subsubsection{Paciente}

	 \begin{itemize}
	  \item  \underline{Definici\'on:} Un paciente es una persona que se va a atender en el hospital.
	  \item  \underline{Atributos:} 
		\begin{itemize}
		 \item \underline{NumeroHistoriaClinica}: n\'umero asignado por el hospital al paciente de forma tal que dos pacientes distintos no pueden tener el mismo n\'umero.
		 \item Nombre: nombre que figura en el documento de identificaci\'on del paciente.
		 \item ApellidoPaterno: apellido que figura en el documento de identificaci\'on del paciente.
		 \item ApellidoCivil: apellido adquirido por el paciente despu\'es de contraer matrimonio.
		 \item FechaNacimiento: fecha en la que naci\'o el paciente.
		 \item TipoDocumento: tipo de documento de identificaci\'on que tiene el paciente.
		 \item NumeroDocumento: n\'umero del documento de identificaci\'on del paciente.
		 \item Sexo: si el paciente es hombre o mujer.
		 \item Telefono: n\'umero de tel\'efono del paciente.
		 \item Direccion: domicilio del paciente.
		 \item FechaActualizacion: fecha en la que el paciente estuvo en la instituci\'on por \'ultima vez.
		 \item CondicionIVA: Responsable Inscripto, Consumidor Final o Monotributista.
		 \item TipoBeneficiario: Titular, Carga o Pendiente.
		\end{itemize}
	 \end{itemize}

      \subsubsection{Profesional}
	 \begin{itemize}
	  \item  \underline{Definici\'on:} Persona que atiende a los pacientes.
	  \item  \underline{Atributos:} 
		\begin{itemize}
		 \item \underline{CodProfesional}: n\'umero de identificaci\'on del profesional dado por el hospital de manera que sea \'unico para cada profesional.  
		 \item Nombre: nombre que figura en el documento de identificaci\'on del profesional. 
		 \item Apellido: apellido que figura en el documento de identificaci\'on del profesional.
		 \end{itemize}
	 \end{itemize}

      \subsubsection{Turno}
	 \begin{itemize}
	  \item  \underline{Definici\'on:} Es otorgado a un paciente para poder ser atendido por un profesional.
	  \item  \underline{Atributos:} 
		\begin{itemize}
		 \item \underline{NumTurno}: n\'umero del turno.
		 \item \underline{Fecha}: fecha del turno.
		 \item \underline{Hora}: hora del turno.
		\end{itemize}
	 \end{itemize}

      \subsubsection{EntidadFinanciera}
	 \begin{itemize}
	  \item  \underline{Definici\'on:} Entidad que cubre al paciente de eventuales problemas de salud.
	  \item  \underline{Atributos:} 
		\begin{itemize}
		 \item \underline{Id}: identificador autom\'atico \'unico para cada entidad financiera diferente.
		 \item Nombre: nombre de la entidad financiera.
		 \item Convenio: convenio que tiene la entidad con otras organizaciones.
%		 \item Tipo: 
		\end{itemize}
	 \end{itemize}

      \subsubsection{Cobertura}
	 \begin{itemize}
	  \item  \underline{Definici\'on:} Un paciente puede tener una o m\'as coberturas m\'edicas.
	  \item  \underline{Atributos:} 
		\begin{itemize}
		 \item \underline{NumeroAfiliado}: n\'umero de afiliado \'unico para cada paciente dentro de una entidad financiera.
		 \item Tipo: ART, Obra Social, Prepagas, Privada, Otros.
		 \item Condicion: si el paciente es voluntario u obligatorio.
		 \item Exencion: puede ser total o parcial para los pacientes.
		\end{itemize}
	  \item  Tiene dependencia existencial con la entidad EntidadFinanciera.
	 \end{itemize}


      \subsubsection{ProcedimientoMedico}
	 \begin{itemize}
	  \item  \underline{Definici\'on:} Cualquier tipo de estudio que pueda realizarse sobre un paciente.
	  \item  \underline{Atributos:} 
		\begin{itemize}
		 \item \underline{Codigo}: c\'odigo de identificaci\'on del procedimiento m\'edico.
		 \item Descripcion: descripci\'on del procedimiento.
		\end{itemize}
	 \end{itemize}


      \subsubsection{Especialidad}
	 \begin{itemize}
	  \item  \underline{Definici\'on:} \'Area m\'edica.
	  \item  \underline{Atributos:} 
		\begin{itemize}
		 \item \underline{Codigo}: c\'odigo que identifica a la especialidad.
		 \item Nombre: nombre de la especialidad.
		 \item Descripcion: comentarios repecto a la especialidad.
		\end{itemize}
	 \end{itemize}


      \subsubsection{Plan}
	 \begin{itemize}
	  \item  \underline{Definici\'on:} Cobertura otorgada por la entidad financiera a un paciente para cubirir algunos procedimientos m\'edicos que se realicen en \'el.
	  \item  \underline{Atributos:} 
		\begin{itemize}
		 \item \underline{Id}: identificador del plan.
		 \item Descripcion: descripci\'on del plan de un paciente.
		\end{itemize}
	 \end{itemize}

      \subsubsection{Factura}
	 \begin{itemize}
	  \item  \underline{Definici\'on:} Docuemento en que se detalla el monto a pagar por el paciente por realizarse alg\'un procemiento m\'edico.
	  \item  \underline{Atributos:} 
		\begin{itemize}
		 \item \underline{NroFactura}: n\'umero correspondiente a la factura.
		 \item FechaEmision: fecha de emisi\'on de la factura.
		 \item Monto: monto total a cobrar.
		 \item MontoCopago: monto que la Entidad Financiera paga.
		 \item DebeAbonar: si el paciente debe o no pagar.
		\end{itemize}
	 \end{itemize}
	\subsubsection{Lugar}
	 \begin{itemize}
		\item \underline{Definici\'on:} Lugar donde se efectuan los turnos.
		\item \underline{Atributos:}
			\begin {itemize}
			 \item \underline{IDLugar}: identificador un\'ivoco de cada lugar.
			 \item Descripci\'on: nombre del lugar.
			\end{itemize}
	\end{itemize}

  \subsection{Interrelaci\'on}

    \subsubsection{Paciente Posee un Plan}
     \begin{itemize}
        \item \underline{Definici\'on:} Un paciente puede tener \'unicamente un plan de cobertura.
        \item \underline{Atributos:} ninguno.
     \end{itemize}

    \subsubsection{Plan Cubre ProcedimientoMedico}
     \begin{itemize}
        \item \underline{Definici\'on:} Un plan puede cubrir uno o varios procedimientos m\'edicos.
        \item \underline{Atributos:}
	 \begin{itemize}
	  \item PorcentajeCobertura: Porcentaje del Procedimiento M\'edico que cubre el Plan.
	 \end{itemize}
     \end{itemize}

    \subsubsection{Cobertura Brinda Plan}
     \begin{itemize}
        \item \underline{Definici\'on:} Una cobertura m\'edica brinda planes a sus afiliados.
        \item \underline{Atributos:} ninguno.
     \end{itemize}
    
    \subsubsection{Cobertura Dada por EntidadFinanciera}
     \begin{itemize}
        \item \underline{Definici\'on:} Una cobertura m\'edica es provista por una entidad financiera.
        \item \underline{Atributos:} ninguno.
     \end{itemize}
 
    \subsubsection{Paciente Reserv\'o Turno}
    \begin{itemize}
        \item \underline{Definici\'on:} Un paciente ha solicitado un turno y el mismo le ha sido otorgado. 
        \item \underline{Atributos:}
    	    \begin{itemize}
		        \item Sobreturno: indica si el turno dado es o no un sobreturno. 
	    \end{itemize}
    \end{itemize}

    \subsubsection{Turno Atendido por Profesional}
    \begin{itemize}
        \item \underline{Definici\'on:} Un turno es atendido por uno o varios profesionales.
        \item \underline{Atributos:} ninguno.
    \end{itemize}

    \subsubsection{Profesional Capacitado en Especialidad}
    \begin{itemize}
        \item \underline{Definici\'on:} Un profesional est\'a capacitado en una o m\'as \'areas de especialidad.
        \item \underline{Atributos:} ninguno.
    \end{itemize}

    \subsubsection{ProcedemientoM\'edico Pertenece a una Especialidad}
    \begin{itemize}
        \item \underline{Definici\'on:} Un procedimiento m\'edico pertenece a una determinada especialidad.
        \item \underline{Atributos:} ninguno.
    \end{itemize}

    \subsubsection{Factura es Pagada por Cobertura}
    \begin{itemize}
        \item \underline{Definici\'on:} Una factura es pagada por una Coobertura. Puede occurrir que haya Coberturas que no tengan facturas.
        \item \underline{Atributos:} ninguno.
    \end{itemize}

    \subsubsection{Factura Debido A ProcedemientoM\'edico}
    \begin{itemize}
        \item \underline{Definici\'on:} Un procedimiento m\'edico tiene un costo asociado.
        \item \underline{Atributos:}
	    \begin{itemize}
		        \item CostoProcedimiento: el precio del procedimiento m\'edico realizado.
	    \end{itemize}
    \end{itemize}
    \subsubsection{Turno se efectuar\'a ProcedimientoM\'edico}
	\begin{itemize}
	 \item \underline{Definici\'on}: En un turno se pueden efectuar uno o varios Procedimientos M\'edicos.
	 \item \underline{Atributos}: ninguno.
	\end{itemize}
    \subsubsection{Turno SeAtiendeEn Lugar}
	\begin{itemize}
	 \item \underline{Definici\'on}: Un turno se efectuar\'a en un Lugar.
	 \item \underline{Atributos}: ninguno.
	\end{itemize}

  \section{Modelo Relacional}

Los esquemas de relaci\'on son los que se listan a continuaci\'on. Las claves primarias son las subrayadas, las claves for\'aneas est\'an indicadas en negrita y las candidatas que no son ni clave primaria ni clave foranea en cursiva. 

    \begin{itemize}
        \item Paciente (\underline{NumeroHistoriaClinica}, ApellidoPaterno, ApellidoCivil, Nombre, \textit{TipoDocumento, DNI}, FechaNacimiento, Direccion, Telefono, Sexo, CondicionIVA, TipoBeneficiario, FechaActualizacion, \textbf{IdPlan})

	 Pueden tomar valor nulo los siguientes atributos:
		\begin{itemize}
			\item ApellidoCivil
			\item Telefono
		\end{itemize}

%        \item EntidadFinanciera (\underline{Id}, Nombre, Convenio, Tipo)
        \item EntidadFinanciera (\underline{Id}, Nombre, Convenio)
%        \item Cobertura (\underline{\textbf{Id}}, \underline{NumeroAfiliado}, Tipo, Execion, Condicion)
        \item Cobertura (\underline{\textbf{Id}, NumeroAfiliado}, Condicion, Tipo)
        \item Plan (\underline{Id}, CostoMensual, Descripcion)
        \item Factura (\underline{NroFactura}, FechaEmision, Monto, MontoCopago, DebeAbonar, \textbf{IdEntidadFinanciera}, \textbf{NumeroAfiliado})
        \item ProcedemientoMedico (\underline{Codigo}, Descripcion, \textbf{CodigoEspecialidad})
        \item Especialidad (\underline{Codigo}, Nombre, Descripcion)
	 
	Pueden tomar valor nulo los siguientes atributos:
		\begin{itemize}
			\item Descripcion
		\end{itemize}

        \item Profesional ( \underline{CodProfesional}, Nombre, Apellido, \textbf{CodigoEspecialidad})
        \item Turno (\underline{NroTurno, Fecha, Hora}, \textbf{IdLugar})
	\item Lugar (\underline {IDLugar}, Descripci\'on)
        \item Brinda (\underline{\textbf{IdEntidadFinanciera}, \textbf{NumeroAfiliado}, \textbf{IdPlan}})
        \item Cubre (\underline{\textbf{IdPlan}, \textbf{CodigoProcedimientoMedico}}, PorcentajeCobertura)

	Pueden tomar valor nulo los siguientes atributos:
		\begin{itemize}
			\item IdPlan, si no existe alg\'un plan que cubra alg\'un procedimiento m\'edico.
		\end{itemize}
	
        \item DebidoA (\underline{\textbf{CodigoProcedimientoMedico}}, \underline{\textbf{NroFactura}}, CostoProcedimiento)
%        \item EsPagada (\underline{\textbf{NroFactura}}, \underline{\textbf{IdEntidadFinanciera}}, \underline{\textbf{NumeroAfiliado}})
%        \item Posee (\underline{\textbf{NumeroHistoriaClinica}}, \textbf{IdPlan})
        \item Reserv\'o (\underline{\textbf{NumeroHistoriaClinica}, \textbf{NroTurno}, \textbf{Fecha}, \textbf{Hora}}, Sobreturno)

	Pueden tomar valor nulo los siguientes atributos:
		\begin{itemize}
			\item NumeroHistoriaClinica, si ning\'un paciente reserv\'o alg\'un turno.
			\item (NroTurno, Fecha, Hora), si el paciente no tiene turno asignado.
		\end{itemize}

        \item Atendido (\underline{\textbf{CodProfesional}, \textbf{NroTurno}, \textbf{Fecha}, \textbf{Hora}})
        \item CapacitadoEn (\underline{\textbf{CodProfesional}, \textbf{CodigoEspecialidad}})

	Pueden tomar valor nulo los siguientes atributos:
		\begin{itemize}
			\item CodProfesional, si tenemos alguna Especialidad para la cual no exista ning\'un Profesional capacitado en la misma.
		\end{itemize}

%        \item Pertenece (\underline{\textbf{CodigoProcedimientoMedico}}, \textbf{CodigoEspecialidad})
	\item SeEfectuara (\underline{\textbf{C\'odigo},\textbf{NroTurno}, \textbf{Fecha}, \textbf{Hora}})

	Pueden tomar valor nulo los siguientes atributos:
		\begin{itemize}
			\item (NroTurno, Fecha, Hora), si existe alg\'un procedimiento m\'edico que no se realizar\'a en ning\'un turno.
		\end{itemize}

%	\item SeAtiendeEn ( \underline{\textbf{NumeroTurno}}, \underline{\textbf{Fecha}}, \underline{\textbf{Hora}}, \underline{\textbf{IDLugar}})
    \end{itemize}


  \section{Diagrama del Modelo de Tablas}

	\begin{figure}[htb]
		\begin{center}
			\noindent \includegraphics[ scale=0.22, angle=90 ]{./imagenes/DiagramaModRel.png}
		 \end{center}
		\caption{Diagrama del Modelo de Tablas}
		% \label{fig0601}
	\end{figure}

  \section{Sentencias DDL}

\begin{lstlisting}[frame=shadowbox, language=SQL, breaklines=true, basicstyle=\footnotesize]

CREATE DATABASE TP7515;

CREATE TABLE TP7515.Plan
(Id				int			Not Null
,CostoMensual			int			Not Null
,Descripcion			varchar(200)		Not Null
,CONSTRAINT pkPlan PRIMARY KEY(Id)
);

CREATE TABLE TP7515.Paciente
(NumeroHistoriaClinica 		int			Not Null
,ApellidoPaterno		varchar(50)		Not Null
,ApellidoCivil			varchar(50)	
,Nombre				varchar(50)		Not Null
,TipoDocumento			varchar(5)
,DNI				int			
,FechaNacimiento		date			Not Null
,Direccion			varchar(50)		Not Null
,Telefono			int			
,Sexo				char(1)			Not Null
,CondicionIVA			varchar(30)		
,TipoBeneficiario		varchar(30)		
,FechaActualizacion		date			Not Null
,IdPlan				int			Not Null
,CONSTRAINT pkPaciente PRIMARY KEY(NumeroHistoriaClinica)
,CONSTRAINT fkPaciente_Plan FOREIGN KEY(IdPlan) REFERENCES Plan(Id)
);

CREATE TABLE TP7515.Lugar
(IDLugar			int			Not Null
,Descripcion			varchar(200)		Not Null
,CONSTRAINT pkLugar PRIMARY KEY(IDLugar)
);

CREATE TABLE TP7515.Turno
(NroTurno			int			Not Null
,Fecha				date			Not Null
,Hora				time			Not Null
,IDLugar			int			Not Null
,CONSTRAINT pkTurno PRIMARY KEY(NroTurno,Fecha,Hora)
,CONSTRAINT fkTurno_Lugar FOREIGN KEY(IDLugar) REFERENCES Lugar(IDLugar)
);

CREATE TABLE TP7515.Reservo
(NumeroHistoriaClinica 		int			Not Null
,NroTurno			int			Not Null
,Fecha				date			Not Null
,Hora				time			Not Null
,SobreTurno			bit			Not Null
,CONSTRAINT pkReservo PRIMARY KEY(NumeroHistoriaClinica,NroTurno,Fecha,Hora)
,CONSTRAINT fkReservo_Paciente FOREIGN KEY(NumeroHistoriaClinica) REFERENCES Paciente(NumeroHistoriaClinica) 
,CONSTRAINT fkReservo_Turno FOREIGN KEY(NroTurno,Fecha,Hora) REFERENCES Turno(NroTurno,Fecha,Hora)
);

CREATE TABLE TP7515.EntidadFinanciera
(Id				int			Not Null
,Nombre				varchar(50)		Not Null
,Convenio			varchar(50)		Not Null
,CONSTRAINT pkEntidadFinanciera PRIMARY KEY(Id)
);

CREATE TABLE TP7515.Cobertura
(Id				int			Not Null
,NumeroAfiliado			int			Not Null
,Tipo				varchar(50)		Not Null
,Condicion			varchar(50)		Not Null
,CONSTRAINT pkCobertura PRIMARY KEY(Id,NumeroAfiliado)
,CONSTRAINT fkCobertura_EntidadFinanciera FOREIGN KEY(Id) REFERENCES EntidadFinanciera(Id)
	ON DELETE CASCADE
);

CREATE TABLE TP7515.Factura
(NroFactura			int			Not Null
,IdEntidadFinanciera		int			Not Null
,NumeroAfiliado			int			Not Null
,FechaEmision			date			Not Null
,Monto				int			Not Null
,MontoCopago			int			Not Null
,DebeAbonar			int			Not Null
,CONSTRAINT pkFactura PRIMARY KEY(NroFactura)
,CONSTRAINT pkFactura_Cobertura FOREIGN KEY(IdEntidadFinanciera,NumeroAfiliado) REFERENCES Cobertura(Id,NumeroAfiliado)
);

CREATE TABLE TP7515.Brinda
(IdEntidadFinanciera		int			Not Null
,NumeroAfiliado			int			Not Null
,IdPlan				int			Not Null
,CONSTRAINT pkBrinda PRIMARY KEY(IdEntidadFinanciera,NumeroAfiliado,IdPlan)
,CONSTRAINT fkBrinda_Cobertura FOREIGN KEY(IdEntidadFinanciera,NumeroAfiliado) REFERENCES Cobertura(Id,NumeroAfiliado)
,CONSTRAINT fkBrinda_Plan FOREIGN KEY(IdPlan) REFERENCES Plan(Id)
);

CREATE TABLE TP7515.Especialidad
(Codigo				int			Not Null
,Nombre				varchar(50)		Not Null
,Descripcion			varchar(200)
,CONSTRAINT pkEspecialidad PRIMARY KEY(Codigo)
);

CREATE TABLE TP7515.ProcedimientoMedico
(Codigo				int			Not Null
,CodigoEspecialidad		int			Not Null
,Descripcion			varchar(200)		Not Null
,CONSTRAINT pkProcedimientoMedico PRIMARY KEY(Codigo)
,CONSTRAINT fkProcedimientoMedico_Especialidad FOREIGN KEY(CodigoEspecialidad) REFERENCES Especialidad(Codigo)
);

CREATE TABLE TP7515.DebidoA
(CodProcedimientoMedico		int			Not Null
,NroFactura			int			Not Null
,CostoProcedimiento		int			Not Null
,CONSTRAINT pkDebidoA PRIMARY KEY(CodProcedimientoMedico,NroFactura)
,CONSTRAINT fkDebidoA_ProcedimientoMedico FOREIGN KEY(CodProcedimientoMedico) REFERENCES ProcedimientoMedico(Codigo)
,CONSTRAINT fkDebidoA_Factura FOREIGN KEY(NroFactura) REFERENCES Factura(NroFactura)
);

CREATE TABLE TP7515.Cubre
(IdPlan				int			Not Null
,CodProcedimientoMedico		int			Not Null
,CONSTRAINT pkCubre PRIMARY KEY(IdPlan,CodProcedimientoMedico)
,CONSTRAINT fkCubre_ProcedimientoMedico FOREIGN KEY(CodProcedimientoMedico) REFERENCES ProcedimientoMedico(Codigo)
,CONSTRAINT fkCubre_Plan FOREIGN KEY(IdPlan) REFERENCES Plan(Id)
);

CREATE TABLE TP7515.Profesional
(CodProfesional			int			Not Null
,Nombre				varchar(50)		Not Null
,Apellido			varchar(50)		Not Null
,CONSTRAINT pkProfesional PRIMARY KEY(CodProfesional)
);

CREATE TABLE TP7515.CapacitadoEn
(CodProfesional			int			Not Null
,CodEspecialidad		int			Not Null
,CONSTRAINT pkCapacitadoEn PRIMARY KEY(CodProfesional,CodEspecialidad)
,CONSTRAINT fkCapacitadoEn_Profesional FOREIGN KEY(CodProfesional) REFERENCES Profesional(CodProfesional)
,CONSTRAINT fkCapacitadoEn_Especialidad FOREIGN KEY(CodEspecialidad) REFERENCES Especialidad(Codigo)
);

CREATE TABLE TP7515.Atendido
(CodProfesional			int			Not Null
,NroTurno			int			Not Null
,Fecha				Date			Not Null
,Hora				Time			Not Null
,CONSTRAINT pkAtendido PRIMARY KEY(CodProfesional,NroTurno,Fecha,Hora)
,CONSTRAINT fkAtendido_Profesional FOREIGN KEY(CodProfesional) REFERENCES Profesional(CodProfesional)
,CONSTRAINT fkAtendido_Turno FOREIGN KEY(NroTurno,Fecha,Hora) REFERENCES Turno(NroTurno,Fecha,Hora)
);

CREATE TABLE TP7515.SeEfectuara
(Codigo				int			Not Null
,NumeroTurno			int			Not Null
,CONSTRAINT pkSeEfectuara PRIMARY KEY(Codigo,NumeroTurno)
,CONSTRAINT fkSeEfectuara_Turno FOREIGN KEY(NumeroTurno) REFERENCES Turno(NroTurno)
,CONSTRAINT fkSeEfectuara_Fecha FOREIGN KEY(Codigo) REFERENCES ProcedimientoMedico(Codigo)
);

\end{lstlisting}


\end{document}
